The rise of the computer age has resulted in increased access to personalized services through computer networks. As the cost of electronics and networks drop, many services that were previously provided in person are now provided remotely over the Internet. For example, entertainment has increasingly shifted to the online space with companies streaming television (TV) shows and movies to members at home. Similarly, electronic mail (e-mail) has reduced the need for letters to be physically delivered. Instead, messages can be sent over networked systems almost instantly. Online social networking sites allow members to build and maintain personal and business relationships in a much more comprehensive and manageable manner.
Electronic devices (especially computer devices) require programming to perform the function for which they are intended. To allow programmers to program computers more easily and efficiently, a variety of programming languages have been developed. To enable instructions written in a programming language to be useful, the abstract instructions have to be converted into instructions that can be used by the computer device (e.g., a compiler). Each programming language has one or more grammars that describe the rules of the programming language and thus enable it to be parsed and converted into instructions that can be used by a computing device.
Like reference numerals refer to the same or similar parts throughout the drawings.